
package com.e885.util.numeric;

import java.util.Random;

/**
 * random util
 * 
 * @author Grady.Kao
 * @version 1.0
 * @company E885 Group
 * @copyright Copyright (c) 2000-2008
 */
public class RandomUtil
{
	/**
	 * 取得整數亂數, 依 <code>number</code>設定而改變, 如: number 設定 為 98, 那麼取出值的範圍在 0-97
	 * 
	 * @param number 設定取出亂數值的範圍
	 * @return 取出整數亂數, 依 <code>number</code> 定義值來取出範圍
	 */
	public static int randomByInteger( int number )
	{
		return new Random().nextInt( number );
	}

	/**
	 * 取得 Double 亂數, 依 <code>number</code>設定而改變, 如: number 設定 為 98, 那麼取出值的範圍在 0.00-97.99
	 * 
	 * @param number 設定取出亂數值的範圍
	 * @param dot 取得小數點的位數
	 * @return 取得 Double 亂數, 依 <code>number</code> 定義值來取出範圍
	 */
	public static double randomByDouble( int number, int dot )
	{
		if( dot < 0 )
			throw new IllegalArgumentException( "dot is error" );

		Random random = new Random();

		return ( ( int )( ( random.nextInt( number ) + random.nextDouble() ) * Math.pow( 10.0, dot ) ) ) / Math.pow( 10.0, dot );
	}
}
